using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;

/// <summary>
/// 快捷键脚本
/// </summary>
public class CreateCSharpScriptShortcut : EditorWindow
{
    /// <summary>
    /// 创建C#脚本  alt + n
    /// </summary>
    [MenuItem("Tools/Create C# Script &n")] // 使用%表示Ctrl，#表示Shift，&表示Alt
    private static void CreateCSharpScript()
    {
        // 获取当前鼠标下的文件夹路径或文件路径
        string selectedPath = AssetDatabase.GetAssetPath(Selection.activeObject);

        // 如果没有选择任何文件夹，则使用 "Assets" 文件夹作为默认路径
        if (string.IsNullOrEmpty(selectedPath))
        {
            EditorUtility.DisplayDialog("警告", "当前未选中文件夹或文件\n点击文件夹在文件夹内创建,点击文件在同级目录创建！", "确定");
            return;
        }
        else
        {
            // 如果所选路径是文件而不是文件夹，则将其父路径作为选定路径
            if (System.IO.File.Exists(selectedPath))
            {
                selectedPath = System.IO.Path.GetDirectoryName(selectedPath);
            }
        }

        // 在指定路径下创建一个新的C#脚本
        string editorPath = UnityEditor.EditorApplication.applicationContentsPath;
        string templatePath = System.IO.Path.Combine(editorPath, "Resources", "ScriptTemplates", "81-C# Script-NewBehaviourScript.cs.txt");

        ProjectWindowUtil.CreateScriptAssetFromTemplateFile(templatePath, selectedPath + "/NewScript.cs");
    }
}
